In a typical data warehouse environment large amounts of data are periodically rolled into and rolled out of tables. In the case of new data being rolled into a table, before the new data can be accessible to a general user of the table, integrity processing (e.g. constraint checking, index maintenance, and materialized view maintenance) must be preformed on the new data. It is desirable that existing data in the table remain fully on-line and available to the general user while integrity processing is performed on the rolled in data. Existing methods typically either bring the entire table off-line or bring the table on-line in a read-only mode while the integrity processing of the rolled in data is carried out.
Similarly, in the case of dated data being rolled out of the table, if the table is involved in any materialized views or referential integrity relationships, the materialized views and referential integrity relationships must be maintained with respect to the rolled out data. Also, if there are any indices defined on the table, these indices must be maintained with respect to the rolled out data. It is desirable for the roll-out operation to complete quickly. Existing methods typically couple the maintenance of materialized views, referential integrity and indices with the roll-out operation. As a result, the roll-out operation can not be completed until all of the maintenance is performed. As typically a large amount of data is rolled out, the maintenance of materialized views, referential integrity and indices with respect to the rolled out data can require a significant amount of time hence delaying the completion of the roll-out operation. In some cases full re-computation of the materialized views, full scans of dependent tables in referential integrity relationships or full rebuilding of indices are required.
What is needed is a mechanism to permit full on-line access to a table while integrity processing of rolled in data is carried out and to minimize the delay in completing a roll-out operation caused by the need for maintenance of the materialized views, referential integrity and indices involving the table.